//
//  BangoAppDelegate.h
//  Bango
//

#import <UIKit/UIKit.h>
#import <CoreData/CoreData.h>

@interface BangoAppDelegate : NSObject <UIApplicationDelegate> {
    
    UIWindow *window;
	
	// the tab controller
	UITabBarController *tabcontroller;
    
@private
    NSManagedObjectContext *managedObjectContext_;
    NSManagedObjectModel *managedObjectModel_;
    NSPersistentStoreCoordinator *persistentStoreCoordinator_;
}

@property (nonatomic, retain) IBOutlet UIWindow *window;

@property (nonatomic, retain, readonly) NSManagedObjectContext *managedObjectContext;
@property (nonatomic, retain, readonly) NSManagedObjectModel *managedObjectModel;
@property (nonatomic, retain, readonly) NSPersistentStoreCoordinator *persistentStoreCoordinator;

// tab controller outlet
@property (nonatomic, retain) IBOutlet UITabBarController *tabcontroller;

- (NSString *)applicationDocumentsDirectory;

void uncaughtExceptionHandler(NSException *exception);

///////////////////////////////////////////////////////
// static

// Obtains reference to the app delegate
+ (BangoAppDelegate *)sharedAppDelegate;

@end

